package com.dnjn.happiness.common.core.model;

import com.dnjn.happiness.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.util.List;


public class CommunicateModel extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * PK
     */
    private Long communicateId;

    public Long getFromUserId() {
        return fromUserId;
    }

    public void setFromUserId(Long fromUserId) {
        this.fromUserId = fromUserId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getOperUserId() {
        return operUserId;
    }

    public void setOperUserId(Long operUserId) {
        this.operUserId = operUserId;
    }

    public Long getSurveyId() {
        return surveyId;
    }

    public void setSurveyId(Long surveyId) {
        this.surveyId = surveyId;
    }

    public String getCommunicateType() {
        return communicateType;
    }

    public void setCommunicateType(String communicateType) {
        this.communicateType = communicateType;
    }

    public String getCommunicateStatus() {
        return communicateStatus;
    }

    public void setCommunicateStatus(String communicateStatus) {
        this.communicateStatus = communicateStatus;
    }

    public String getDateStart() {
        return dateStart;
    }

    public void setDateStart(String dateStart) {
        this.dateStart = dateStart;
    }

    public String getDateEnd() {
        return dateEnd;
    }

    public void setDateEnd(String dateEnd) {
        this.dateEnd = dateEnd;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public Long getEtypeId() {
        return etypeId;
    }

    public void setEtypeId(Long etypeId) {
        this.etypeId = etypeId;
    }

    public String getDeleted() {
        return deleted;
    }

    public void setDeleted(String deleted) {
        this.deleted = deleted;
    }

    public Integer getLikeCounts() {
        return likeCounts;
    }

    public void setLikeCounts(Integer likeCounts) {
        this.likeCounts = likeCounts;
    }

    public Integer getHappyWhenCommunicating() {
        return happyWhenCommunicating;
    }

    public void setHappyWhenCommunicating(Integer happyWhenCommunicating) {
        this.happyWhenCommunicating = happyWhenCommunicating;
    }

    public String getCommunicateTags() {
        return communicateTags;
    }

    public void setCommunicateTags(String communicateTags) {
        this.communicateTags = communicateTags;
    }

    public String getIsPrecise() {
        return isPrecise;
    }

    public void setIsPrecise(String isPrecise) {
        this.isPrecise = isPrecise;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getEtype() {
        return etype;
    }

    public void setEtype(String etype) {
        this.etype = etype;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getScore() {
        return score;
    }

    public void setScore(String score) {
        this.score = score;
    }

    public String getSurveyTitle() {
        return surveyTitle;
    }

    public void setSurveyTitle(String surveyTitle) {
        this.surveyTitle = surveyTitle;
    }

    public String getSurveyDescription() {
        return surveyDescription;
    }

    public void setSurveyDescription(String surveyDescription) {
        this.surveyDescription = surveyDescription;
    }

    public String getGouTongUsername() {
        return gouTongUsername;
    }

    public void setGouTongUsername(String gouTongUsername) {
        this.gouTongUsername = gouTongUsername;
    }

    public String getGouTongNickname() {
        return gouTongNickname;
    }

    public void setGouTongNickname(String gouTongNickname) {
        this.gouTongNickname = gouTongNickname;
    }

    public String getOperName() {
        return operName;
    }

    public void setOperName(String operName) {
        this.operName = operName;
    }

    public String getOperNickName() {
        return operNickName;
    }

    public void setOperNickName(String operNickName) {
        this.operNickName = operNickName;
    }

    public List<String> getDate() {
        return date;
    }

    public void setDate(List<String> date) {
        this.date = date;
    }

    public String getOperDeptId() {
        return operDeptId;
    }

    public void setOperDeptId(String operDeptId) {
        this.operDeptId = operDeptId;
    }

    public String getOperDeptName() {
        return operDeptName;
    }

    public void setOperDeptName(String operDeptName) {
        this.operDeptName = operDeptName;
    }

    public String getUserDeptId() {
        return userDeptId;
    }

    public void setUserDeptId(String userDeptId) {
        this.userDeptId = userDeptId;
    }

    public String getUserDeptName() {
        return userDeptName;
    }

    public void setUserDeptName(String userDeptName) {
        this.userDeptName = userDeptName;
    }

    public String getGouTongDeptId() {
        return gouTongDeptId;
    }

    public void setGouTongDeptId(String gouTongDeptId) {
        this.gouTongDeptId = gouTongDeptId;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getGouTongAvatar() {
        return gouTongAvatar;
    }

    public void setGouTongAvatar(String gouTongAvatar) {
        this.gouTongAvatar = gouTongAvatar;
    }

    public String getEmpDate() {
        return empDate;
    }

    public void setEmpDate(String empDate) {
        this.empDate = empDate;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Integer getHappinessScore() {
        return happinessScore;
    }

    public void setHappinessScore(Integer happinessScore) {
        this.happinessScore = happinessScore;
    }

    public Integer getHlbean() {
        return hlbean;
    }

    public void setHlbean(Integer hlbean) {
        this.hlbean = hlbean;
    }

    public Integer getCommunicateResultAddScore() {
        return communicateResultAddScore;
    }

    public void setCommunicateResultAddScore(Integer communicateResultAddScore) {
        this.communicateResultAddScore = communicateResultAddScore;
    }

    public Integer getCommunicateDefult() {
        return communicateDefult;
    }

    public void setCommunicateDefult(Integer communicateDefult) {
        this.communicateDefult = communicateDefult;
    }

    public String getCommunicateResultAddDeleted() {
        return communicateResultAddDeleted;
    }

    public void setCommunicateResultAddDeleted(String communicateResultAddDeleted) {
        this.communicateResultAddDeleted = communicateResultAddDeleted;
    }

    public String getScoreTime() {
        return scoreTime;
    }

    public void setScoreTime(String scoreTime) {
        this.scoreTime = scoreTime;
    }

    public LocalDate getCurrDate() {
        return currDate;
    }

    public void setCurrDate(LocalDate currDate) {
        this.currDate = currDate;
    }

    public Boolean getWhetherAllPermissions() {
        return whetherAllPermissions;
    }

    public void setWhetherAllPermissions(Boolean whetherAllPermissions) {
        this.whetherAllPermissions = whetherAllPermissions;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getTeamId() {
        return teamId;
    }

    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }

    /**
     * $column.columnComment
     */
    @Schema(description = "沟通发起人")
    private Long fromUserId;

    /**
     * 被沟通人id
     */
    @Schema(description = "被沟通人id")
    private Long userId;


    /**
     * 实际执行沟通人id
     */
    @Schema(description = "实际执行沟通人id")
    private Long operUserId;

    /**
     * 关联问卷id
     */
    @Schema(description = "关联问卷id")
    private Long surveyId;

    /**
     * SURVEY-问卷 INTERVIEW-访谈
     */
    @Schema(description = "SURVEY-问卷 INTERVIEW-访谈")
    private String communicateType;

    /**
     * 已指派 已结束
     */
    @Schema(description = "已指派 已结束")
    private String communicateStatus;

    /**
     * $column.columnComment
     */
    @Schema(description = "开始时间")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String dateStart;

    /**
     * $column.columnComment
     */
    @Schema(description = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String dateEnd;

    /**
     * 沟通结果
     */
    @Schema(description = "沟通结果")
    private String result;

    /**
     * $column.columnComment
     */
    @Schema(description = "情绪id")
    private Long etypeId;

    /**
     * 是否删除|0-否 1-是|valid
     */
    @Schema(description = "是否删除|0-否 1-是|valid")
    private String deleted;

    private Integer likeCounts;//点赞星星

    private Integer happyWhenCommunicating;// 填写沟通结果之前的快乐分



    @Schema(description = "沟通维度id和label")
    private String communicateTags;

    @Schema(description = "是否精准 Y | N")
    private String isPrecise;

    @Schema(description = "评分: SABCD")
    private String grade;


    @Schema(description = "情绪类型")
   
    private String etype;

    @Schema(description = "情绪label")
   
    private String label;

    @Schema(description = "情绪分数")
   
    private String score;

   
    private String surveyTitle;

   
    private String surveyDescription;

   
    private String gouTongUsername;

   
    private String gouTongNickname;

   
    private String operName;

   
    private String operNickName;
   
    private List<String> date;

   
    private String operDeptId;

   
    private String operDeptName;

   
    private String userDeptId;

   
    private String userDeptName;


   
    private String gouTongDeptId;
    @Schema(description = "发起人头像")
   
    private String avatar;
    @Schema(example = "沟通人头像")
   
    private String gouTongAvatar;

   
    private String empDate;

   
    private String type;

    /**
     * 被沟通人姓名
     */
   
    private String nickName;

    /**
     * 被沟通人快乐值
     */
   
    private Integer happinessScore;

    /**
     * 被沟通人欢乐豆
     */
   
    private Integer hlbean;

    private Integer communicateResultAddScore;

    private Integer communicateDefult;

    private String communicateResultAddDeleted;

    private String scoreTime;

   
    private LocalDate currDate;

    /**
     * 是否查看所有
     */
   
    private Boolean whetherAllPermissions;

   
    private Long deptId;

   
    private Long teamId;

}
